const BaseController = require("./BaseController");
let mysql = require("../../model/Base");

class IndexController extends BaseController {


    async index() {

        let mysqlObj = new mysql();
        let date = this.req.query['date'];
        //console.log('date-----'+date);
        let sql = 'select * from number where date=?';
        //console.log(res);
        try {
            let result = await mysqlObj.query(sql, date);//等待数据的返回，但是线程可以干别的事情，线程我们就理解为饭店的服务员，
            //node只能请得起一个服务员, await + promise 表示，这一段代码需要同步(服务员招待了客户，
            //客户告诉服务器，我自己来，你忙别的) 如果说这块是阻塞的，那请求2次，5*2 =10
            //如果不是阻塞的
            //result 是啥类型？数组
            return this.display('index.html', { data: result,title:'我是index11111111' })
        } catch (err) {
            console.log(err);
        }

    }

    async detail() {

        let mysqlObj = new mysql();
        let date = this.req.query['date'];
        //console.log('date-----'+date);
        let sql = 'select * from number where date=?';
        //console.log(res);
        try {
            let result = await mysqlObj.query(sql, date);//等待数据的返回，但是线程可以干别的事情，线程我们就理解为饭店的服务员，
            //node只能请得起一个服务员, await + promise 表示，这一段代码需要同步(服务员招待了客户，
            //客户告诉服务器，我自己来，你忙别的) 如果说这块是阻塞的，那请求2次，5*2 =10
            //如果不是阻塞的
            //result 是啥类型？数组
            return this.display('detail.html', { data: result })
        } catch (err) {
            console.log(err);
        }

    }


    diji() {

        console.log("盖地基");

    }

    zhuzi() {

        console.log("盖柱子");

    }

    qizhuang() {

        console.log("砌砖");

    }

    quchunishuijiang() {
        console.log(this.nishuijiang);

    }



}
module.exports = IndexController;

// let obj = new IndexController('李四');//开始去搭积木，比方说我想搭建个小房子 ，new 就表示 具体要做个工程了
//                                      // 类是不限制构建次数
// obj.diji();
// obj.zhuzi();
// obj.qizhuang();
// obj.quchunishuijiang();

// let obj2 = new IndexController('张三');//我们每次项目对象正常我们目的是不一样的
//                                        //this就表示每次构建的这个对象
// obj2.quchunishuijiang();

// console.log(obj==obj2)


/**
 * 回顾 class  java  es6
 *
 * 面向对象编程三大特点：继承，封装，多态(方法的重写)
 *
 *                     封装：
 *                     继承：extends 需要继承
 *
 *
 *
 *
 * class 中文翻译过来 班级 在编程里面叫 类，我们就按班级理解
 *
 *       班级里有很多成员，单元可以有一个，元素 在js 里面就是 函数(js class 里面不写function 就是函数名与 {} ,
 *
 *       在class 里面就不叫函数了，就叫 方法)，和属性()
 *
 *       class 的使用 ， new 加一个class 名称,我们可以理解为， class 就是一堆的积木，里面有 圆柱体，有长方体.....(就是方法)，但是我们积木
 *
 *       没有构建成具体的建筑.
 *
 *
 * class ：元素
 *            1 函数,不用function 去标识，而且在类里面不叫函数了，叫方法
 *            2 属性 就理解成变量，跟普通变量相对多个 this
 *
 *
 *
 */

